home *** CD-ROM | disk | FTP | other *** search
/ MacHack 2000 / MacHack 2000.toast / pc / The Hacks / Genie / Projects / Pedestal / Source / Includes / PedWindow.hh < prev    next >
Encoding:
Text File  |  2000-06-24  |  1.6 KB  |  74 lines

  1. /*    ============
  2.  *    PedWindow.hh
  3.  *    ============
  4.  *
  5.  *    Implemented by PedWindow.cc
  6.  */
  7.  
  8. #pragma once
  9.  
  10. #include <Types.h>
  11.  
  12. #include "PedView.hh"
  13.  
  14. class PedPane;
  15. class PedAgent;
  16.  
  17. enum {
  18.     kPedestalWindowKind = 1024
  19. };
  20.  
  21. class PedWindow : public PedView {
  22. public:
  23.     PedWindow();
  24.     PedWindow(PedAgent *inAgent);
  25.     virtual ~PedWindow();
  26.     
  27.     virtual PedWindow &Window() {return *this;}
  28.     virtual bool IsOpen() {return macWindow != NULL;}
  29.     virtual WindowPtr Ptr() { return macWindow; }
  30.     virtual void GetFrame(Rect &outFrame);
  31.     virtual void GetBounds(Rect &outBounds);
  32.     virtual void SetBounds(const Rect &inBounds);
  33.     virtual void GetTitle(Str255 outTitle);
  34.     virtual void SetTitle(const Str255 inTitle);
  35.     
  36.     virtual PedAgent *Agent();
  37.     virtual void SetAgent(PedAgent *inAgent);
  38.     
  39.     virtual void Open();
  40.     virtual void Open(const Rect &inBounds, const Str255 inTitle);
  41.     virtual void Close();
  42.     virtual void Dispose();
  43.     
  44.     virtual PedPane *Pane();
  45.     virtual void SetPane(PedPane *inPane);
  46.     
  47.     virtual void Focus();
  48.     virtual void Activate();
  49.     virtual void Deactivate();
  50.     virtual void Refresh();
  51.     virtual void Update();
  52.     virtual void Select();
  53.     virtual void Resize(short inWidth, short inHeight);
  54.     
  55.     // Event processing
  56.     virtual void DispatchNullEvent(EventRecord &inEvent);
  57.     virtual void DispatchClickEvent(EventRecord &inEvent);
  58.     virtual void DispatchKey(EventRecord &inEvent);
  59.     virtual void ProcessGoAway(EventRecord &inEvent);
  60.     
  61.     // Message handling
  62.     virtual void HandleClose();
  63.     
  64. protected:
  65.     bool mPersistent;
  66.     WindowPtr macWindow;
  67.     void *mStorage;
  68.     short mProcID;
  69.     Rect mBounds;
  70.     Str255 mTitle;
  71.     PedPane *mPane;
  72.     PedAgent *mAgent;
  73. };
  74.